package com.engine4cloud.tdf.supervision.dto.result;

import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 调查评估-调查
 *
 * @author wenjie
 * @date 2024-02-29 11:05:19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "调查结果表-响应对象")
public class DcpgSurveyResultDTO extends CreateTimeResultDTO {
    /**
     * 主键
     */
    @Schema(description = "主键")
    private Long id;

    /**
     * 调查评估编号
     */
    @Schema(description = "调查评估编号")
    private String dcpgbh;

    /**
     * 被调查人姓名
     */
    @Schema(description = "被调查人姓名")
    private String bdcrxm;

    /**
     * 与被告人关系
     */
    @Schema(description = "与被告人关系")
    private String ybgrgx;

    /**
     * 与被告人关系名称
     */
    @Schema(description = "与被告人关系名称")
    private String ybgrgxmc;

    /**
     * 调查事项
     */
    @Schema(description = "调查事项")
    private String dcsx;

    /**
     * 调查时间
     */
    @Schema(description = "调查时间")
    private LocalDateTime dcsj;

    /**
     * 调查地点
     */
    @Schema(description = "调查地点")
    private String dcdd;

    /**
     * 调查人
     */
    @Schema(description = "调查人")
    private String dcr;

    /**
     * 调查意见审核人
     */
    @Schema(description = "调查意见审核人")
    private String dcyjshr;

    /**
     * 被调查人所在省（区、市）
     */
    @Hidden
    @Schema(description = "被调查人所在省（区、市），内部流转使用，不对外")
    private String bdcrszs;

    /**
     * 被调查人所在地（市、州）
     */
    @Hidden
    @Schema(description = "被调查人所在地（市、州），内部流转使用，不对外")
    private String bdcrszds;

    /**
     * 被调查人所在县（市、区）
     */
    @Hidden
    @Schema(description = "被调查人所在县（市、区），内部流转使用，不对外")
    private String bdcrszxq;

    /**
     * 被调查人所在（乡镇、街道）
     */
    @Hidden
    @Schema(description = "被调查人所在（乡镇、街道），内部流转使用，不对外")
    private String bdcrszd;

    /**
     * 被调查人所在地
     */
    @Schema(description = "被调查人所在地", example = "[\"460000\",\"46000A\",\"469006\",\"36327\"]")
    @NotEmpty(message = "被调查人所在地不能为空")
    private List<String> residenceAreaList;

}